package com.fowo.api.model.shop.info;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 店铺 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class ShopInfoImportPo {

  /** 所属店铺授权 */
  @ExcelProperty("所属店铺授权")
  @Size(max = 50, message = "所属店铺授权长度不能超过50")
  private String parentShopAuthorizationName;

  @ExcelIgnore
  @Schema(title = "所属店铺授权")
  private String parentShopAuthorization;

  /** 名称 */
  @ExcelProperty("名称")
  @Size(max = 50, message = "名称长度不能超过50")
  private String shopName;

  /** 编码 */
  @ExcelProperty("编码")
  @Size(max = 50, message = "编码长度不能超过50")
  private String shopCode;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String country;

  /** 亚马逊店铺id */
  @ExcelProperty("亚马逊店铺id")
  @Size(max = 50, message = "亚马逊店铺id长度不能超过50")
  private String sellerId;

  /** 金蝶店铺 */
  @ExcelProperty("金蝶店铺")
  @Size(max = 60, message = "金蝶店铺长度不能超过60")
  private String jindieShopDataValue;

  @ExcelIgnore
  @Schema(title = "金蝶店铺")
  private String jindieShop;

  /** 金蝶店铺店铺编码 */
  @ExcelProperty("金蝶店铺店铺编码")
  @Size(max = 50, message = "金蝶店铺店铺编码长度不能超过50")
  private String jindieShopCode;

  /** 授权状态 */
  @ExcelProperty("授权状态")
  private String sellerAuthStatus;

  /** 更新授权时间 */
  @ExcelProperty("更新授权时间")
  @DateTimeString(message = "更新授权时间不是有效的时间日期格式")
  private String updateAuthTime;

  /** 授权异常时间 */
  @ExcelProperty("授权异常时间")
  @DateTimeString(message = "授权异常时间不是有效的时间日期格式")
  private String errorAuthTime;

  /** 授权日期 */
  @ExcelProperty("授权日期")
  @DateTimeString(message = "授权日期不是有效的时间日期格式")
  private String authTime;

  /** 刷新令牌 */
  @ExcelProperty("刷新令牌")
  @Size(max = 1000, message = "刷新令牌长度不能超过1000")
  private String refreshToken;

  /** 平台 */
  @ExcelProperty("平台")
  private String platform;

  /** 站点简称 */
  @ExcelProperty("站点简称")
  @Size(max = 50, message = "站点简称长度不能超过50")
  private String region;

  /** 站点id */
  @ExcelProperty("站点id")
  @LongString(message = "站点id数值格式不正确", label = "站点id")
  private String mid;

  /** 市场id */
  @ExcelProperty("市场id")
  @Size(max = 50, message = "市场id长度不能超过50")
  private String marketplaceId;

  /** 是否授权广告 */
  @ExcelProperty("是否授权广告")
  @BooleanString(message = "是否授权广告格式不正确，请使用“是”，“否”")
  private String hasAdsSetting;

  /** 亚马逊端点 */
  @ExcelProperty("亚马逊端点")
  @Size(max = 50, message = "亚马逊端点长度不能超过50")
  private String endpoint;

  /** AWS 区域 */
  @ExcelProperty("AWS 区域")
  @Size(max = 50, message = "AWS 区域长度不能超过50")
  private String awsRegion;

  /** 市场名 */
  @ExcelProperty("市场名")
  @Size(max = 50, message = "市场名长度不能超过50")
  private String marketplaceName;

  /** TikTok刷新token */
  @ExcelProperty("TikTok刷新token")
  @Size(max = 50, message = "TikTok刷新token长度不能超过50")
  private String tiktokRefreshToken;

  /** 金蝶部门 */
  @ExcelProperty("金蝶部门")
  @Size(max = 50, message = "金蝶部门长度不能超过50")
  private String dep;

  /** 金蝶部门编码 */
  @ExcelProperty("金蝶部门编码")
  @Size(max = 50, message = "金蝶部门编码长度不能超过50")
  private String depcode;
}
